import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '@/components/login.vue'
import Home from '@/components/home.vue'
<<<<<<< HEAD

Vue.use(VueRouter)

const routes = [
    { path: '/login', component: Login },
    { path: '/', redirect: '/login' },
    { path: '/home', component: Home }
=======
import Welcome from '@/components/welcome'
import Users from '@/components/user/users.vue'

Vue.use(VueRouter)

//路由规则
const routes = [{
        path: '/login',
        component: Login
    },
    {
        path: '/',
        redirect: '/login' //路由重定向
    },
    {
        path: '/home',
        component: Home,
        redirect: '/welcome',
        children: [{
                path: '/welcome',
                component: Welcome
            },
            {
                path: '/users',
                component: Users
            }
        ]
    }
>>>>>>> user
]

const router = new VueRouter({
    routes
})

<<<<<<< HEAD
//路由导航守卫控制访问权限
//（只有在登录之后才能访问主页面；如果用户没有登录，但是直接通过URL访问特定页面，需要重新导航在登陆页面）
//========挂载路由导航守卫==========
router.beforeEach((to, from, next) => {
    // to 将要访问的路径
    // from 代表从哪个路径跳转而来
    // next 是一个函数，表示放行
    // next两种形式: next() 放行  next('/login) 强制跳转
    if (to.path === '/login') return next();
    //获取 token
    const tokenStr = window.sessionStorage.getItem('token');
    if (!tokenStr) return next('/login');
    next();
});
=======
//====路由守卫（保证访问权限）====
//只有在登录后才能访问其他页面，没有登录则不能在URL中直接访问其他页面

//为路由添加 beforeEach 路由守卫
router.beforeEach((to, from, next) => {
    // to 表示跳转到哪个页面
    // from 表示从哪个页面跳转来
    // next 是一个函数，有两种表示方式
    // next() 放行 ;  next('/login) 强制跳转
    if (to.path === '/login') return next(); // 登录页没有特殊权限，都可以访问，next() 直接放行
    const tokenStr = window.sessionStorage.getItem('token'); // 通过 window.sessionStorage.getItem('token) 方法，获取到 tokenStr值 
    if (!tokenStr) return next('/login'); // 如果 tokenStr 不存在，即没有登录，强制跳转到 login 页面，无论URL中路径怎样
    next(); //  tokenStr 存在，已经登录，直接放行
})
>>>>>>> user

export default router